using B.S.XZYData.ErrorCode;
using MediatR;

namespace B.S.XZYData.Api.Read.Application.Command.DefectiveSummary
{
    /// <summary>
    /// 导出不良品汇总命令
    /// </summary>
    public class ExportDefectiveSummaryCommand : IRequest<ApiResult<byte[]>>
    {
        /// <summary>
        /// 工单编号
        /// </summary>
        public string? WorkOrderCode { get; set; }

        /// <summary>
        /// 产品编号
        /// </summary>
        public string? ProductCode { get; set; }

        /// <summary>
        /// 产品名称
        /// </summary>
        public string? ProductName { get; set; }

        /// <summary>
        /// 工序编号
        /// </summary>
        public string? ProcessCode { get; set; }

        /// <summary>
        /// 工序名称
        /// </summary>
        public string? ProcessName { get; set; }

        /// <summary>
        /// 生产人员
        /// </summary>
        public string? Producer { get; set; }

        /// <summary>
        /// 生产开始时间-开始
        /// </summary>
        public DateTime? ProductionStartTimeBegin { get; set; }

        /// <summary>
        /// 生产开始时间-结束
        /// </summary>
        public DateTime? ProductionStartTimeEnd { get; set; }

        /// <summary>
        /// 生产结束时间-开始
        /// </summary>
        public DateTime? ProductionEndTimeBegin { get; set; }

        /// <summary>
        /// 生产结束时间-结束
        /// </summary>
        public DateTime? ProductionEndTimeEnd { get; set; }

        /// <summary>
        /// 报工数量-最小值
        /// </summary>
        public int? ReportQuantityMin { get; set; }

        /// <summary>
        /// 报工数量-最大值
        /// </summary>
        public int? ReportQuantityMax { get; set; }

        /// <summary>
        /// 合格数量-最小值
        /// </summary>
        public int? QualifiedQuantityMin { get; set; }

        /// <summary>
        /// 合格数量-最大值
        /// </summary>
        public int? QualifiedQuantityMax { get; set; }
    }
} 